The growth of systems integration and inter-company networking in recent years has been accompanied by an increasing requirement for intelligent approaches to the monitoring of operational data. For example, where a number of different enterprises or departments within an enterprise rely on a specific service provider, the service provider may need to charge the different users according to their usage or to allocate resources between different users. This requires monitoring of one or more usage metrics such as CPU cycles or other resources used, or the number of data items or bytes processed. Secondly, the ever-increasing need for consistently high performance of data processing systems necessitates efficient performance monitoring and analysis.
A number of monitoring and debugging solutions have been proposed which involve adding instrumentation to each of the network nodes to be monitored, or adding dedicated reporting nodes to the network. However, these solutions are typically unsuitable for a production environment because the additional processing of the monitoring tasks impacts the overall performance of the system and/or distorts the operational flow. In many cases, a decision to implement operational data monitoring requires deployment of modified application code in which the monitoring has been enabled. Furthermore, many of the available solutions fail to allow performance monitoring of individual data processing components within the scope of a single application program execution.
U.S. Pat. No. 6,467,052 describes a method and apparatus for enabling a developer to analyze performance of a distributed data processing system within a programming/debugging environment. The method of U.S. Pat. No. 6,467,052 relies on significant instrumentation of the computers to be monitored. To avoid performance problems during normal productive use, the event monitors and periodic monitors of U.S. Pat. No. 6,467,052 are only active while the developer is analysing the performance and function of the system.
There remains a need in the art for improved methods and apparatus for efficiently monitoring operational data, which methods and apparatus are non-intrusive and are suitable for use in a production environment.